package com.dhecp.project.api.mapper;

import com.dhecp.core.genericDao.GenericDao;
import com.dhecp.project.api.domain.ModuleNidAndBid;

import java.util.Map;

/**
 * 生成单据编号（NID,BID） DAO
 * @author DH-Xxj
 * @version 2019年11月20日
 */
public interface ModuleNidAndBidMapper extends GenericDao<ModuleNidAndBid, String> {

	/**
	 * 查询初始化单号
	 * @param moduleTable 必要参数：功能唯一标识
	 * @return ModuleNidAndBid
	 * @author DH-Xxj
	 */
	ModuleNidAndBid findModuleNidAndBidInitial(Map<String, Object> params);

	/**
	 * 查询最新单号
	 * @param moduleTable 必要参数：功能唯一标识
	 * @return ModuleNidAndBid
	 * @author DH-Xxj
	 */
	ModuleNidAndBid findModuleNidAndBid(Map<String, Object> params);

	/**
	 * 大数据单据分批保存操作支持
	 * @param moduleTable 必要参数：当前单据的 功能唯一标识
	 * @param bigData 必要参数：当前单据的 大数据处理专用单号
	 * @param vType 必要参数：处理类型【删除过渡表历史数据（vType="D"）、将过渡表数据逐条转移到正式表（vType="T"）】
	 * @param nid 可选参数（vType="T"时为必要参数）：单据编码
	 * @param bid 可选参数（vType="T"时为必要参数）：单据编号
	 * @param activeFlow 可选参数（vType="T"时为必要参数）：流程状态
	 * @param procInstId 可选参数（vType="T"时为必要参数）：流程实例Id
	 * @return ModuleNidAndBid
	 * @author DH-Xxj
	 */
	ModuleNidAndBid moduleBigDataDeal(Map<String, Object> params);
	
}